//package com.hitqz.robot.camera;
//
//import com.hitqz.robot.camera.dto.*;
//import com.hitqz.robot.camera.exception.UnsupportedOprException;
//import com.hitqz.robot.camera.type.CameraTypeEnum;
//
//import java.util.List;
//
//
///**
// * @author kehanjiang
// * @date 2024/08/14
// */
//public interface ICameraService {
//    /**
//     * 相机品牌
//     *
//     * @return
//     */
//    CameraTypeEnum brand();
//
//    /**
//     * 初始化sdk
//     *
//     * @return
//     */
//    default boolean intSdk() {
//        throw new UnsupportedOprException("初始化sdk");
//    }
//
//    /**
//     * 登录设备
//     *
//     * @param ip
//     * @param port     端口
//     * @param userName 用户名
//     * @param password 密码
//     * @return
//     */
//    default boolean login(String ip, int port, String userName, String password) {
//        throw new UnsupportedOprException("登录设备");
//    }
//
//    /**
//     * 拍照
//     *
//     * @param ip
//     * @param channel 通道
//     * @param basePath 保存的根目录
//     * @param folder 文件夹 例如 /日期/设备/巡检项
//     * @return 返回照片存储路径
//     */
//    default MediaFileDto takePic(String ip, Integer channel,String basePath,String folder) {
//        throw new UnsupportedOprException("拍照");
//    }
//
//    /**
//     * 开始录像
//     *
//     * @param ip
//     * @param channel 通道
//     * @return 返回视频存储路径
//     */
//    default MediaFileDto startRecord(String ip, Integer channel,String basePath,String folder) {
//        throw new UnsupportedOprException("开始录像");
//    }
//
//    /**
//     * 结束录像
//     *
//     * @param ip
//     * @param channel 通道
//     * @return
//     */
//    default MediaFileDto stopRecord(String ip, Integer channel,String basePath,String folder) {
//        throw new UnsupportedOprException("结束录像");
//    }
//
//    /**
//     * 云台控制
//     *
//     * @param dto
//     * @return
//     */
//    default boolean ptzCtrl(PtzCtrlDTO dto) {
//        throw new UnsupportedOprException("云台控制");
//    }
//
//    /**
//     * 设置测温规则并开始测温
//     *
//     * @param dto
//     * @return
//     */
//    default List<Integer> initRegionAndStartMonitor(InitRegionMeasureDTO dto) {
//        throw new UnsupportedOprException("设置测温规则并开始测温");
//    }
//
//    /**
//     * 停止测温
//     *
//     * @param dto
//     * @return
//     */
//    default AreaTemplateDTO stopRegionMonitor(InitRegionMeasureDTO dto) {
//        throw new UnsupportedOprException("停止测温");
//    }
//
//    /**
//     * 获取云台参数
//     *
//     * @param dto
//     * @return
//     */
//    default CameraParamDTO getCameraParam(QueryCameraParamDTO dto) {
//        throw new UnsupportedOprException("获取云台参数");
//    }
//
//    /**
//     * 设置云台参数
//     *
//     * @param dto
//     * @return
//     */
//    default boolean setCameraParam(CameraParamDTO dto) {
//        throw new UnsupportedOprException("设置云台参数");
//    }
//
//    /**
//     * 布防
//     *
//     * @param ip
//     * @return
//     */
//    default boolean setAlarm(String ip) {
//        throw new UnsupportedOprException("布防");
//    }
//
//    /**
//     * 撤防
//     *
//     * @param ip
//     * @return
//     */
//    default boolean closeAlarm(String ip) {
//        throw new UnsupportedOprException("撤防");
//    }
//
//    /**
//     * 3D定位
//     *
//     * @param ip
//     * @param x1
//     * @param y1
//     * @param x2
//     * @param y2
//     * @return
//     */
//    default boolean position3D(String ip, int x1, int y1, int x2, int y2) {
//        throw new UnsupportedOprException("3D定位");
//    }
//
//    /**
//     * 区域聚焦
//     *
//     * @param ip
//     * @param x1
//     * @param y1
//     * @param x2
//     * @param y2
//     * @return
//     */
//    default boolean setRegionalFocus(String ip, int x1, int y1, int x2, int y2) {
//        throw new UnsupportedOprException("区域聚焦");
//    }
//
//    /**
//     * 设置叠加字符参数
//     *
//     * @param ip
//     * @param channel
//     * @param content
//     */
//    default void showString(String ip, int channel, String content) {
//        throw new UnsupportedOprException("设置叠加字符参数");
//    }
//}